import csv
import os


def read_file(filename):
    info = []
    f = open(filename)
    line = f.readline()
    while line:
        res = line.split(':')
        res[4] = res[4].replace('\n', '')
        info.append(res)
        line = f.readline()
    f.close()
    return info


def get_data(info):
    result = []
    for index in info:
        i = int(index[2])
        value = float(index[4])
        if (len(result) <= i):
            p_result = []
            p_result.append(value)
            result.append(p_result)
        else:
            result[i].append(value)
    return result


def txt_to_csv(filename):
    if not os.path.exists(filename):
        return '不存在此文件！！！'
    if os.path.exists('data.csv'):
        return ''
    # filename= "data.txt"
    info = read_file(filename)
    # 转换成100000*44维的数据
    result = get_data(info)
    f = open('data.csv', 'w', encoding='utf-8', newline='')
    csv_writer = csv.writer(f)
    for res in result:
        csv_writer.writerow(res)
    f.close()
    if os.path.exists('data.csv'):
        return 'data.csv'
    else:
        return ' '


input_example = 'data_2.txt'
output_example = '不存在此文件！！！'
output = txt_to_csv(input_example)


def compare(o_e, o):
    return o_e == o

print("")
# 用例目的
print("该用例目的为：对文本文件中的原始数据进行数据提取和格式转换并写入csv文件中")
print("")
# 子用例编号
print("子用例编号：txt_to_csv_2")
print("")
print("****************************")
print("当前输入为：")
print(input_example)

print("")

print("****************************")
print("预设输出为:")
print(output_example)
print("")
print("****************************")
print("当前输出为:")
print(output)
print("")
print("****************************")
print("是否正确:")
# 输出对比结果
# 需要写一个compare函数
if compare(output_example, output):
    print("输出与预定目标相符")
else:
    print("输出与预定目标不符")
# 输出对比结果

print("\n")
